let emoji = {
  list: [
    { txt: '[微笑]', img: require('./wxemoji/1.gif') },
    { txt: '[撇嘴]', img: require('./wxemoji/2.gif') },
    { txt: '[色]', img: require('./wxemoji/3.gif') },
    { txt: '[发呆]', img: require('./wxemoji/4.gif') },
    { txt: '[得意]', img: require('./wxemoji/5.gif') },
    { txt: '[流泪]', img: require('./wxemoji/6.gif') },
    { txt: '[害羞]', img: require('./wxemoji/7.gif') },
    { txt: '[闭嘴]', img: require('./wxemoji/8.gif') },
    { txt: '[睡]', img: require('./wxemoji/9.gif'), },
    { txt: '[大哭]', img: require('./wxemoji/10.gif'), },
    
    { txt: '[尴尬]', img: require('./wxemoji/11.gif'), },
    { txt: '[发怒]', img: require('./wxemoji/12.gif'), },
    { txt: '[调皮]', img: require('./wxemoji/13.gif'), },
    { txt: '[呲牙]', img: require('./wxemoji/14.gif'), },
    { txt: '[惊讶]', img: require('./wxemoji/15.gif'), },
    { txt: '[难过]', img: require('./wxemoji/16.gif'), },
    { txt: '[囧]', img: require('./wxemoji/17.gif'), },
    { txt: '[抓狂]', img: require('./wxemoji/18.gif'), },
    { txt: '[吐]', img: require('./wxemoji/19.gif'), },
    { txt: '[偷笑]', img: require('./wxemoji/20.gif'), },
    
    { txt: '[愉快]', img: require('./wxemoji/21.gif'), },
    { txt: '[白眼]', img: require('./wxemoji/22.gif'), },
    { txt: '[傲慢]', img: require('./wxemoji/23.gif'), },
    { txt: '[困]', img: require('./wxemoji/24.gif'), },
    { txt: '[惊恐]', img: require('./wxemoji/25.gif'), },
    { txt: '[大汗]', img: require('./wxemoji/26.gif'), },
    { txt: '[憨笑]', img: require('./wxemoji/27.gif'), },
    { txt: '[悠闲]', img: require('./wxemoji/28.gif'), },
    { txt: '[奋斗]', img: require('./wxemoji/29.gif'), },
    { txt: '[咒骂]', img: require('./wxemoji/30.gif'), },

    { txt: '[疑问]', img: require('./wxemoji/31.gif'), },
    { txt: '[嘘]', img: require('./wxemoji/32.gif'), },
    { txt: '[晕]', img: require('./wxemoji/33.gif'), },
    { txt: '[衰]', img: require('./wxemoji/34.gif'), },
    { txt: '[骷髅]', img: require('./wxemoji/35.gif'), },
    { txt: '[敲打]', img: require('./wxemoji/36.gif'), },
    { txt: '[再见]', img: require('./wxemoji/37.gif'), },
    { txt: '[擦汗]', img: require('./wxemoji/38.gif'), },
    { txt: '[抠鼻]', img: require('./wxemoji/39.gif'), },
    { txt: '[鼓掌]', img: require('./wxemoji/40.gif'), },

    { txt: '[坏笑]', img: require('./wxemoji/41.gif'), },
    { txt: '[左哼哼]', img: require('./wxemoji/42.gif'), },
    { txt: '[右哼哼]', img: require('./wxemoji/43.gif'), },
    { txt: '[哈欠]', img: require('./wxemoji/44.gif'), },
    { txt: '[鄙视]', img: require('./wxemoji/45.gif'), },
    { txt: '[委屈]', img: require('./wxemoji/46.gif'), },
    { txt: '[阴险]', img: require('./wxemoji/48.gif'), },
    { txt: '[亲亲]', img: require('./wxemoji/49.gif'), },
    { txt: '[快哭了]', img: require('./wxemoji/50.gif'), },
    
    { txt: '[菜刀]', img: require('./wxemoji/51.gif'), },
    { txt: '[西瓜]', img: require('./wxemoji/52.gif'), },
    { txt: '[啤酒]', img: require('./wxemoji/53.gif'), },
    { txt: '[咖啡]', img: require('./wxemoji/54.gif'), },
    { txt: '[猪头]', img: require('./wxemoji/55.gif'), },
    { txt: '[玫瑰]', img: require('./wxemoji/56.gif'), },
    { txt: '[凋谢]', img: require('./wxemoji/57.gif'), },
    { txt: '[嘴唇]', img: require('./wxemoji/58.gif'), },
    { txt: '[爱心]', img: require('./wxemoji/59.gif'), },
    { txt: '[裂开]', img: require('./wxemoji/60.gif'), },
    
    { txt: '[蛋糕]', img: require('./wxemoji/61.gif'), },
    { txt: '[炸弹]', img: require('./wxemoji/62.gif'), },
    { txt: '[便便]', img: require('./wxemoji/63.gif'), },
    { txt: '[月亮]', img: require('./wxemoji/64.gif'), },
    { txt: '[太阳]', img: require('./wxemoji/65.gif'), },
    { txt: '[拥抱]', img: require('./wxemoji/66.gif'), },
    { txt: '[强]', img: require('./wxemoji/67.gif'), },
    { txt: '[弱]', img: require('./wxemoji/68.gif'), },
    { txt: '[握手]', img: require('./wxemoji/69.gif'), },
    { txt: '[胜利]', img: require('./wxemoji/70.gif'), },
    
    { txt: '[抱拳]', img: require('./wxemoji/71.gif'), },
    { txt: '[勾引]', img: require('./wxemoji/72.gif'), },
    { txt: '[拳头]', img: require('./wxemoji/73.gif'), },
    { txt: '[OK]', img: require('./wxemoji/74.gif'), },
    { txt: '[跳跳]', img: require('./wxemoji/75.gif'), },
    { txt: '[发抖]', img: require('./wxemoji/76.gif'), },
    { txt: '[尖叫]', img: require('./wxemoji/77.gif'), },
    { txt: '[转圈]', img: require('./wxemoji/78.gif'), },
    { txt: '[笑脸]', img: require('./wxemoji/79.gif'), },
    { txt: '[生病]', img: require('./wxemoji/80.gif'), },
    
    { txt: '[破涕为笑]', img: require('./wxemoji/81.gif'), },
    // { txt: '[]', img: require('./wxemoji/82.gif'), },
    { txt: '[脸红]', img: require('./wxemoji/83.gif'), },
    { txt: '[恐惧]', img: require('./wxemoji/84.gif'), },
    { txt: '[失望]', img: require('./wxemoji/85.gif'), },
    { txt: '[无语]', img: require('./wxemoji/86.gif'), },
    { txt: '[嘿哈]', img: require('./wxemoji/87.gif'), },
    { txt: '[捂脸]', img: require('./wxemoji/88.gif'), },
    { txt: '[奸笑]', img: require('./wxemoji/89.gif'), },
    { txt: '[机智]', img: require('./wxemoji/90.gif'), },
    
    { txt: '[皱眉]', img: require('./wxemoji/91.gif'), },
    { txt: '[耶]', img: require('./wxemoji/92.gif'), },
    { txt: '[吃瓜]', img: require('./wxemoji/93.gif'), },
    { txt: '[加油]', img: require('./wxemoji/94.gif'), },
    { txt: '[汗]', img: require('./wxemoji/95.gif'), },
    { txt: '[天啊]', img: require('./wxemoji/96.gif'), },
    { txt: '[Emm]', img: require('./wxemoji/97.gif'), },
    { txt: '[社会社会]', img: require('./wxemoji/98.gif'), },
    { txt: '[旺柴]', img: require('./wxemoji/99.gif'), },
    { txt: '[好的]', img: require('./wxemoji/100.gif'), },

    { txt: '[打脸]', img: require('./wxemoji/101.gif'), },
    // { txt: '[]', img: require('./wxemoji/102.gif'), },
    { txt: '[哇]', img: require('./wxemoji/103.gif'), },
    { txt: '[闹鬼]', img: require('./wxemoji/104.gif'), },
    { txt: '[合十]', img: require('./wxemoji/105.gif'), },
    // { txt: '[]', img: require('./wxemoji/106.gif'), },
    { txt: '[庆祝]', img: require('./wxemoji/107.gif'), },
    { txt: '[礼物]', img: require('./wxemoji/108.gif'), },
    { txt: '[红包]', img: require('./wxemoji/109.gif'), },
    { txt: '[發]', img: require('./wxemoji/110.gif'), },
    { txt: '[福]', img: require('./wxemoji/111.gif'), },
  ]
};

let ruleStr = new RegExp(
  emoji.list.reduce((t, v, i) => {
    let str = v.txt.replace(/\[/,'(\\[').replace(/\]/,'\\])')
    return t + (i==0?'':'|') + str
  }, '')
  , 'g'
)

let emojiReplace = function(str) {
  if (str.length == 0 || typeof (str) != 'string') { return '' }
  let ret = str.replace(ruleStr, function (m) {
    let item = emoji.list.find((v) => { return v.txt == m });
    return `<img src="${item.img}" alt="${item.txt}">`;
  })
  return ret;
}

let ruleImg = new RegExp(/<img src=".+?" alt="\[(.+?)\]">/,'g');
let imgReplaceEmoji = function (html) {
  let r = html.replace(ruleImg, function (m,p1,p2) {
    return '['+p1+']';
  })
  return r
}

export {
  emoji,ruleStr,emojiReplace,ruleImg,imgReplaceEmoji
}